import axios, { Axios, AxiosResponse, AxiosRequestConfig } from 'axios'
declare module 'axios' {
    interface AxiosInstance {
        (config: AxiosRequestConfig): Promise<any>;
    }
    export function create(config?: AxiosRequestConfig): AxiosInstance;
}
const http = axios.create({
    baseURL: 'http://192.168.137.1:8081',
})
// http.defaults.withCredentials = true
// 配置axios前置拦截器，作用是让所有axios请求携带token，后台需要token校验是否登录
http.interceptors.request.use(config => {
    // 1.从缓存中获取到token,这里的Authorization时登录时你给用户设置token的键值
    let authorization = localStorage.getItem("Authorization1");
    
    // 2.如果token不为null，那么设置到请求头中，此处哪怕为null，我们也不进行处理，因为后台会进行拦截
    if (authorization) {
        console.log(authorization)
        //后台给登录用户设置的token的键时什么，headers['''']里的键也应该保持一致
        config.headers.token = authorization;
    }
    // 3.放行
    return config;
}, error => {
    //失败后抛出错误
    Promise.reject(error);
})

export default http